package reporte.filtros;


/**
 * Filtro generico que niega la condicion
 * del filtro del que esta compuesto.
 * @author Octavio Nicolas Pompilio
 *
 * @param <T>
 * El tipo de elemento que se filtrara
 */
public class FiltroNot<T> extends Filtro<T> {

	private Filtro<T> filtro;
	
	/**
	 * Constructor del Filtro generico que negara
	 * la condicion del filtro.
	 * @param filtro
	 * El filtro que se negara su condicion.
	 */
	public FiltroNot(Filtro<T> filtro){
		this.filtro = filtro;
	}
	
	@Override
	protected boolean filtro(T elemento) {
		return !filtro.filtro(elemento);
	}

}
